﻿// 3572. 直角三角形.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <cmath>


using namespace std;
/*
https://www.acwing.com/problem/content/3575/

创建一个 CTriangle 类，用 3点来代表一个三角形，输入三个点的坐标，实现判断此三角形是不是直角三角形，并输出此三角形的周长。

输入格式
第一行包含整数 T，表示共有 T 组测试数据。

每组数据占一行，包含 6个整数分别表示三个点的横纵坐标。

输出格式
每组数据输出两行，第一行根据是否直角三角形输出 Yes 或 No，第二行输出三角形的周长，保留小数点后两位。

数据范围
1≤T≤10
,
坐标取值范围 [0,5]
，
保证输入的三个点能够构成三角形。

输入样例：
1
0 0 3 0 0 4
输出样例：
Yes
12.00
*/

const double PI = 3.14159265;

void solve() {
	int a1, b1, a2, b2, a3, b3;
	cin >> a1 >> b1 >> a2 >> b2 >> a3 >> b3;

	double A = ((a1 - a2) * (a1 - a2) + (b1 - b2) * (b1 - b2));
	double B = ((a2 - a3) * (a2 - a3) + (b2 - b3) * (b2 - b3));
	double C = ((a1 - a3) * (a1 - a3) + (b1 - b3) * (b1 - b3));

	int flag = 0;
	if (C  - A - B  ==0 ) {
		flag = 1;
	}
	else if (A - C  - B  ==0) {
		flag = 1;
	}
	else if (B  - C  - A  ==0) {
		flag = 1;
	}

	if (flag) {
		cout << "Yes" << endl;
	}
	else {
		cout << "No" << endl;
	}

	printf("%.2f\n",(sqrt(A)+sqrt(B)+sqrt(C)));

}


int main()
{
	int t; cin >> t;
	while (t--) {
		solve();
	}

	return 0;
}
 